package com.example.examsystem.dto;

import lombok.Data;
import java.math.BigDecimal;
import java.util.List;

/**
 * 考试统计信息数据传输对象
 * 用于封装考试的各种统计数据
 */
@Data
public class ExamStatisticsDto {
    /**
     * 考试总记录数
     */
    private long totalCount;
    
    /**
     * 已完成的考试记录数
     */
    private long completedCount;
    
    /**
     * 进行中的考试记录数
     */
    private long inProgressCount;
    
    /**
     * 平均分数
     */
    private BigDecimal avgScore;
    
    /**
     * 最高分数
     */
    private BigDecimal maxScore;
    
    /**
     * 最低分数
     */
    private BigDecimal minScore;
    
    /**
     * 及格人数
     */
    private long passCount;
    
    /**
     * 成绩分布数据
     */
    private List<ScoreDistributionDto> scoreDistribution;
    
    /**
     * 成绩分布数据传输对象
     * 用于封装各个分数段的人数统计
     */
    @Data
    public static class ScoreDistributionDto {
        /**
         * 分数段范围
         */
        private String scoreRange;
        
        /**
         * 该分数段的人数
         */
        private long count;
    }
}